package Test::CompanionClasses;

use warnings;
use strict;
use Test::CompanionClasses::Engine;
use Getopt::Long;


use base 'Exporter';


our $VERSION = '0.04';


our @EXPORT = ('run_tests');


sub run_tests {
    my $exact;
    GetOptions(exact => \$exact) or
        die "usage: $0 [ --exact ] filter...\n";

    Test::CompanionClasses::Engine->new->run_tests(
        exact     => $exact,
        filter    => [ @main::ARGV ],
        # inherited => [ $inherited_spec ],
    );
}



__END__

{% USE p = PodGenerated %}

=head1 NAME

Test::CompanionClasses - basic invocation of Test::CompanionClasses::Engine

=head1 SYNOPSIS

Define a test file, for example C<t/01_companion_classes.t>:

    use Test::CompanionClasses;
    run_tests;

Then you can do:

    perl t/01_companion_classes.t --exact Foo::Bar Baz

=head1 DESCRIPTION

This is a very basic frontend for L<Test::CompanionClasses::Engine> which you
can use for your distribution test files (in C<t/>).

The intention is that you use it as shown in the L</SYNOPSIS>.

=head1 COMMAND-LINE USAGE

The following command-line arguments are supported:

=over 4

=item --exact

Specifies that the package filter is to be used exactly, i.e., substring
matching is not enough. See L<Test::CompanionClasses::Engine> for details.

=back

The rest of the command line is interpreted as a list of package filters.
Again, see L<Test::CompanionClasses::Engine> for details.

The C<inherited> mechanism is not supported (yet).

{% PROCESS standard_pod %}

=cut

